package bdd;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import modele.JoueurEnglishNotNull;

/**
 *Cette classe permet d'établir le lien avec la base de données (au niveau du joueur)
 * et le jeu
 * 
 * @author flo
 */
public class DAOJoueur {

    public Connection c = null;
    public Statement stmt = null;

    public void insertScore(JoueurEnglishNotNull j,int temps) throws SQLException {
        c = ConnecterBase.Connect();
        stmt = c.createStatement();

        String sql = "INSERT INTO SCORES (NOM_JOUEUR,SCORE,TEMPS) values ('"
                +j.getUsername()
                +"' ,"
                +j.getHighScore()
                +","
                +temps
                +");";
        stmt.executeUpdate(sql);
        stmt.close();
        c.close();
        
    }
    
    public ArrayList<ScoreJoueur> getMeilleursScore (int temps) throws SQLException{
        
        c = ConnecterBase.Connect();
        stmt = c.createStatement();

        String sql = "SELECT * FROM SCORES ORDER BY SCORE DESC LIMIT "+temps+";";
        ArrayList<ScoreJoueur> liste;
        try (ResultSet rs = stmt.executeQuery(sql)) {
            liste = new ArrayList<ScoreJoueur>();
            while (rs.next()) {
                liste.add(new ScoreJoueur(rs.getString("NOM_JOUEUR"),rs.getInt("SCORE")));
            } 
        }
        stmt.close();
        c.close();     
        
        return liste;
    }

}
